import java.util.*;


public class TestAnimal {
	
	//ArrayList<Dog> dogs1 = new ArrayList<Animal>();
	//ArrayList<Animal> a = new ArrayList<Dog>();
	
	List<Animal> list = new ArrayList<Animal>();
	
	ArrayList<Animal> list2 = new ArrayList<Animal>();
	
	//ArrayList<Animal> list3 = new List<Animal>();
	
	ArrayList<Dog> dogs = new ArrayList<Dog>();
	
	//ArrayList<Animal> animals = dogs;
	
	ArrayList<Object> objects = new ArrayList<Object>();
	
	List<Object> objList = objects;
	
	//ArrayList<Object> objs = new ArrayList<Dog>();

}

abstract class Animal
{
	void eat()
	{
		System.out.println("animal eating");
	}
	
	
}

class Dog extends Animal
{
	void bark(){}
}

class Cat extends Animal
{
	void meow(){}
}
